package com.marvels.financial.pay.hlbpay.dto.request;

import java.util.Date;

import com.marvels.financial.pay.hlbpay.annotation.SignExclude;

import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import cn.hutool.system.SystemUtil;

/**
 * 协议代扣
 * @author wujunfeng
 *
 */
public class QuickPayBindPayPreOrderVo {
	
	/**
	 * 交易类型
	 */
    private String P1_bizType = "QuickPayBindPayPreOrder";

    /**
     * 商户编号
     */
    private String P2_customerNumber;

    /**
     * 绑卡ID
     */
    private String P3_bindId;

    /**
     * 用户ID 
     */
    private String P4_userId;

    /**
     * 商户订单号
     */
    private String P5_orderId;

    /**
     * 时间戳
     */
    private String P6_timestamp = DateUtil.format(new Date(), DatePattern.PURE_DATETIME_PATTERN);;

    /**
     * 交易币种 CNY人民币
     */
    private String P7_currency = "CNY";

    /**
     * 交易金额（元）
     */
    private String P8_orderAmount;

    /**
     * 商品名称
     */
    private String P9_goodsName;

    /**
     * 商品描述
     */
    private String P10_goodsDesc;

    /**
     * 终端类型
     */
    private String P11_terminalType;

    /**
     * 终端标识
     */
    private String P12_terminalId;

    /**
     * P13_orderIp
     */
    private String P13_orderIp;

    /**
     * 订单有效时间
     */
    private String P14_period;

    /**
     * 订单有效时间单位
     */
    private String P15_periodUnit;

    /**
     * 服务器通知回调地址
     */
    private String P16_serverCallbackUrl;

    /**
     * 是否同步下发短信  false不需要用户确认
     */
    @SignExclude
    private String sendValidateCode = "FALSE";

    /**
     * 商品数量
     */
    @SignExclude
    private String goodsQuantity;

    /**
     * 用户注册账号
     */
    @SignExclude
    private String userAccount;

    /**
     * 交易定位地址
     */
    @SignExclude
    private String lbs;

    /**
     * 应用类型
     */
    @SignExclude
    private String appType;

    /**
     * 应用名
     */
    @SignExclude
    private String appName;

    /**
     * 业务场景
     */
    @SignExclude
    private String dealSceneType;

    /**
     * 场景参数
     */
    @SignExclude
    private String dealSceneParams;

    /**
     * 签名方式
     */
    @SignExclude
    private String signatureType = "MD5WITHRSA";

    
    public String getSignatureType() {
        return signatureType;
    }

    public void setSignatureType(String signatureType) {
        this.signatureType = signatureType;
    }

    public String getP1_bizType() {
        return P1_bizType;
    }

    public void setP1_bizType(String p1_bizType) {
        P1_bizType = p1_bizType;
    }

    public String getP2_customerNumber() {
        return P2_customerNumber;
    }

    public void setP2_customerNumber(String p2_customerNumber) {
        P2_customerNumber = p2_customerNumber;
    }

    public String getP3_bindId() {
        return P3_bindId;
    }

    public void setP3_bindId(String p3_bindId) {
        P3_bindId = p3_bindId;
    }

    public String getP4_userId() {
        return P4_userId;
    }

    public void setP4_userId(String p4_userId) {
        P4_userId = p4_userId;
    }

    public String getP5_orderId() {
        return P5_orderId;
    }

    public void setP5_orderId(String p5_orderId) {
        P5_orderId = p5_orderId;
    }

    public String getP6_timestamp() {
        return P6_timestamp;
    }

    public void setP6_timestamp(String p6_timestamp) {
        P6_timestamp = p6_timestamp;
    }

    public String getP7_currency() {
        return P7_currency;
    }

    public void setP7_currency(String p7_currency) {
        P7_currency = p7_currency;
    }

    public String getP8_orderAmount() {
        return P8_orderAmount;
    }

    public void setP8_orderAmount(String p8_orderAmount) {
        P8_orderAmount = p8_orderAmount;
    }

    public String getP9_goodsName() {
        return P9_goodsName;
    }

    public void setP9_goodsName(String p9_goodsName) {
        P9_goodsName = p9_goodsName;
    }

    public String getP10_goodsDesc() {
        return P10_goodsDesc;
    }

    public void setP10_goodsDesc(String p10_goodsDesc) {
        P10_goodsDesc = p10_goodsDesc;
    }

    public String getP11_terminalType() {
        return P11_terminalType;
    }

    public void setP11_terminalType(String p11_terminalType) {
        P11_terminalType = p11_terminalType;
    }

    public String getP12_terminalId() {
        return P12_terminalId;
    }

    public void setP12_terminalId(String p12_terminalId) {
        P12_terminalId = p12_terminalId;
    }

    public String getP13_orderIp() {
        return P13_orderIp;
    }

    public void setP13_orderIp(String p13_orderIp) {
        P13_orderIp = p13_orderIp;
    }

    public String getP14_period() {
        return P14_period;
    }

    public void setP14_period(String p14_period) {
        P14_period = p14_period;
    }

    public String getP15_periodUnit() {
        return P15_periodUnit;
    }

    public void setP15_periodUnit(String p15_periodUnit) {
        P15_periodUnit = p15_periodUnit;
    }

    public String getP16_serverCallbackUrl() {
        return P16_serverCallbackUrl;
    }

    public void setP16_serverCallbackUrl(String p16_serverCallbackUrl) {
        P16_serverCallbackUrl = p16_serverCallbackUrl;
    }

    public String getSendValidateCode() {
        return sendValidateCode;
    }

    public void setSendValidateCode(String sendValidateCode) {
        this.sendValidateCode = sendValidateCode;
    }

    public String getGoodsQuantity() {
        return goodsQuantity;
    }

    public void setGoodsQuantity(String goodsQuantity) {
        this.goodsQuantity = goodsQuantity;
    }

    public String getUserAccount() {
        return userAccount;
    }

    public void setUserAccount(String userAccount) {
        this.userAccount = userAccount;
    }

    public String getLbs() {
        return lbs;
    }

    public void setLbs(String lbs) {
        this.lbs = lbs;
    }

    public String getAppType() {
        return appType;
    }

    public void setAppType(String appType) {
        this.appType = appType;
    }

    public String getAppName() {
        return appName;
    }

    public void setAppName(String appName) {
        this.appName = appName;
    }

    public String getDealSceneType() {
        return dealSceneType;
    }

    public void setDealSceneType(String dealSceneType) {
        this.dealSceneType = dealSceneType;
    }

    public String getDealSceneParams() {
        return dealSceneParams;
    }

    public void setDealSceneParams(String dealSceneParams) {
        this.dealSceneParams = dealSceneParams;
    }
 
}
